1. Field of the Invention
The present invention relates to an apparatus and method for synchronizing data between a terminal and a server, and more particularly to an apparatus and method for synchronizing presence attribute data when the terminal and the server are connected to each other to establish a messenger service between them.
2. Description of the Related Art
Typically, if a client terminal is connected to a server to establish data communication between them, there is a need for data of the client terminal to be synchronized with that of the server. FIG. 1 shows an exemplary system for connecting the client terminal with the server. The client terminals 100, 102, and 104 are terminals for providing a messenger service, and are connected to a server 110 over the Internet 108 or a mobile communication wireless network 106. The server 110 for providing such a messenger service includes a presence attribute database (DB) 112. The presence attribute DB 112 stores various presence attributes, for example, friend list information of a corresponding client terminal 10, and status, address and contact information of individual friends contained in the friend list, etc. The presence attributes are various data stored in the client terminal 10 and the server 110 to establish a messenger service. The client terminal 10 gains access to the server 110, requests presence attributes from the server 110 to receive the messenger service, and receives the presence attributes from the server 110.
FIG. 2 depicts a conventional process for synchronizing presence attribute data between the client terminal 10 and the server 110.
Referring to FIG. 2, upon receiving a messenger service request command from a user, the client terminal 10 transmits a login request signal to the server 110 at step 204. The server 110 having received the login request signal recognizes the client terminal 16 having transmitted the login request signal, and transmits a response signal (not shown) to the login request signal to the client terminal 10, such that user service information and client terminal 10's information can be transmitted between the client terminal 10 and the server 110. Thereafter, the client terminal 10 requests presence attributes from the server 110, and the server 110 reads presence attributes at step 206 of the client terminal 10 from the presence attribute DB 112, and transmits at step 208 the read presence attributes to the client terminal 10.
For example, if a call connection state between the server 110 and the client terminal 10 is completed at 3 o'clock, and the client terminal 10 re-accesses the server 110 at 4 o'clock, there is no way to verify the presence attributes of the client terminal 10 during the time between 3 o'clock and 4 o'clock, such that the server 110 must verify all data of the client terminal 10. Due to this problem, the server 110 must unnecessarily verify even that data which was unchanged during the one hour. In more detail, if the client terminal 10 is disconnected from the server 110 at 3 o'clock, and is connected to the server 110 at 4 o'clock, the client terminal 10 must request all the presence attributes from the server 110, and thereby the server 110 must unavoidably transmit the same presence attributes as those at 3 o'clock to the client terminal 10 even though the client terminal 10's presence attributes stored in the server 110 are the same at 3 and 4 o'clock. In the case where a small amount of update attributes are contained in the presence attributes associated with the client terminal 10 at 3 and 4 o'clock, the server 110 must transmit all the presence attributes to the client terminal 10, such that the amount of traffic is increased and a long period of time is consumed due to such unnecessary data transmission.
As stated above, the client terminal 10 requests all of its own presence attributes from the server 110 whenever it gains access to the server 110, and receives the requested presence attributes from the server 110 in such a way that the client terminal 10 updates its own presence attributes. For example, if specific presence attributes generated when the client terminal 10 is disconnected from the server 110 are equal to those generated when the client terminal is reconnected to the server 110, or if a small amount of updated presence attributes are provided, the server 110 must transmit all the presence attributes to the client terminal 10, such that unnecessary traffic and time are consumed.